Миграция ролей
-----------------------------------------

Введение
~~~~~~~~~

При обновлении ALD Pro до версии 2.4.0 выполняется миграция ролей и привилегий обновляемой Системы.

Все события миграции регистрируются в журналах на контроллере домена по пути /opt/rbta/migration:

- в директории "migrate_user_roco_roles" хранятся журналы миграции ролей ALDPRO - IT Security Specialist, ALDPRO - IT Specialist и пользовательских ролей, созданных до обновления портала управления;
- в директории "migrate_roles_main_and_regional_administrator" хранятся журналы миграции роли ALD PRO - Main Administrator и создания роли ALD Pro - Regional Administrator
- в директории "create_preset_roles" хранятся журналы миграции, создающей пользовательские роли, поставляемые по умолчанию в версии 2.4.0.

Описанные выше директории появляются по пути /opt/rbta/migration только в том случае, если миграция запускалась хотя бы один раз.

Миграция системных ролей
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Все системные роли мигрируются полностью и в том же составе. В результате миграции:

- замена привилегий во время миграции в системных ролях не выполняется;
- в БД сохраняются системные роли, назначенные на пользователей (в интерфейсе портала управления системные роли, назначенные на пользователей, не отображаются и не выполняются).

Миграция предустановленных ролей
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Миграция Enrollment Administrator, helpdesk, Security Architect, User Administrator
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

Enrollment Administrator, helpdesk, Security Architect, User Administrator до версии 2.4.0 были предустановленными ролями. После обновления на версию 2.4.0:

- эти роли становятся системными (тип "Системная"), и меняется их поведение в портале управления (работать с ними теперь можно, как с системными ролями. См. раздел Системные роли)
- в БД сохраняются существующие до обновления назначения пользователей на роли Enrollment Administrator, helpdesk, Security Architect, User Administrator
- В БД сохраняются все существующие до обновления привязки привилегий и разрешений для данных ролей (см. Руководство Администратора раздел 2.2.6)

Миграция ALDPRO - Main Administrator
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
В результате миграции на версию 2.4.0 для роли ALD PRO - Main Administrator выполняется:

- тип роли остается "Предустановленная";
- роль привязывается к корню домена с установленным признаком "Включая дочерние подразделения";
- для всех привилегий, которые могут быть ограничены сайтом, устанавливается привязка ко всем сайтам;
- роль остается назначенной на всех пользователей и группы пользователей, на которых была назначена до обновления;
- по результатам миграции роль автоматически переводится Системой в состояние "Активна".

.. important:: 

    Для получения возможности после обновления до версии 2.4.0 делегировать роли средствами портала управления необходимо, чтобы до начала обновления на роль ALD PRO - Main Administrator был назначен хотя бы один пользователь.

Миграция ALDPRO - IT Security Specialist и ALDPRO - IT Specialist
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
В результате миграции на версию 2.4.0 для ролей ALDPRO - IT Security Specialist и ALDPRO - IT Specialist выполняется:

- тип ролей ALDPRO - IT Security Specialist и ALDPRO - IT Specialist становится "Пользовательская";
- названия ролей не меняются
- роли привязываются к корню домена с установленным признаком "Включая дочерние подразделения";
- для всех привилегий, которые могут быть ограничены сайтом, устанавливается привязка ко всем сайтам;
- роли остаются назначенными на всех пользователей и группы пользователей, на которых были назначены до обновления.

В связи с приобретением дополнительных привилегий для мигрированных ролей ALDPRO - IT Security Specialist и ALDPRO - IT Specialist добавляются следующие доступы к подразделам портала управления:

.. raw:: latex

    {\fontsize{10}{10}\selectfont

.. tabularcolumns:: |\Y{0.15}|\Y{0.15}|\Y{0.15}|\Y{0.55}|

.. include:: tables/t.1.md
   :parser: myst_parser.sphinx_

.. tabularcolumns:: |\Y{0.15}|\Y{0.15}|\Y{0.2}|\Y{0.5}|

.. include:: tables/t.2.md
   :parser: myst_parser.sphinx_ 
   
.. raw:: latex

    }


Предоставляемые права для ALDPRO - IT Specialist
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Права, предоставляемые роли "ALDPRO - IT Specialist" по умолчанию после миграции со старших версий. Доступы могут измениться после внесения изменений в состав привилегий.

.. raw:: latex

    {\fontsize{10}{10}\selectfont

.. tabularcolumns:: |\Y{0.2}|\Y{0.8}|

.. table:: 
   :class: longtable

   .. include:: tables/t.3.md
      :parser: myst_parser.sphinx_ 

.. raw:: latex

    }

Предоставляемые права для ALDPRO - IT Security Specialist
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Права, предоставляемые роли "ALDPRO - IT Security Specialist" по умолчанию после миграции со старших версий. Доступы могут измениться после внесения изменений в состав привилегий.

.. raw:: latex

    {\fontsize{10}{10}\selectfont

.. tabularcolumns:: |\Y{0.2}|\Y{0.8}|

.. table:: 
   :class: longtable

   .. include:: tables/t.4.md
      :parser: myst_parser.sphinx_ 

.. raw:: latex

    }

Миграция пользовательских ролей
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Миграция пользовательских ролей, поставляемых по умолчанию в версии 2.4.0
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

После обновления до версии 2.4.0 появляются новые пользовательские роли, установленные в Системе по умолчанию:

- роли на операции в каждом подразделе портала управления;
- роль на чтение всего портала управления;
- роль регионального администратора.

Для этих ролей выполняются следующие условия:

- тип ролей "Пользовательская";
- роли привязываются к корню домена с установленным признаком "Включая дочерние подразделения";
- для всех привилегий, которые могут быть ограничены сайтом, устанавливается привязка ко всем сайтам;
- на эти роли не делегированы пользователи и группы пользователей.

Миграция пользовательских ролей, созданных до обновления портала управления
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
В версию 2.4.0 переносятся все роли, созданные пользователями до обновления.

С версии 2.4.0 привязка к подразделению указывается для роли. Привилегии в составе роли, которым требуется привязка к подразделению, наследуют эту настройку от роли.

Привилегии одной роли, привязанные к разным подразделениям, в результате миграции будут распределены по нескольким ролям с учетом общей привязки к подразделению и признака "Включая дочерние подразделения".

Правила миграции пользовательских ролей:

- тип ролей сохраняется: "Пользовательская";

- создается набор ролей по количеству привязок привилегий с учетом признака "Включая дочерние подразделения" в мигрируемой роли:

  - если в результате миграции из одной роли создается несколько ролей, для новых ролей в наборе к старому названию добавляется порядковый номер;
  - если в результате миграции из одной роли создается несколько ролей, каждая новая роль в наборе содержит все привилегии старой роли, которые не могут быть ограничены подразделением;

- если мигрируемая роль была в статусе "Активна", то все соответствующие ей новые роли будут активированы:

  - будет выполнена попытка делегировать все новые роли всем пользователям и группам пользователей, на которых была назначена старая роль:

    - если некоторые пользователи выпадут из области действия привязки новой роли (т.е. подразделение новой роли и подразделение пользователя или хотя бы одного из пользователей в группе не совпадают с учетом признака "Включая дочерние подразделения" у новой роли), такой пользователь или группа не получат новую роль, в журнал миграции будет внесена запись об ошибке делегирования;

- если статус мигрируемой роли отличен от "Активна", то статус наследуется, и все пользователи и все группы переносятся во все новые роли:

  - при процедуре активации всех новых ролей будет происходить проверка возможности наличия перенесенных пользователей в каждой роли (с привязкой к конкретному подразделению);
  - привязку роли к подразделению можно сменить таким образом, чтобы подразделения всех пользователей, назначенных на роль, подпадали в область действия роли (обязательное условие успеха активации роли).
